[day-5] 10分鐘了解陣列的簡易應用


Posted by Xiang on 2021-10-24

關於陣列~

這裡就要先講到 陣列跟物件 是資料集合
能有效幫助我們在設計資料的時候更加友善
目的是不用設過多多餘的編號變數

假設進入水果店 有很多水果都要設變數來放水果名稱
若不使用陣列則會產生許多筆變數
使用陣列則可以縮減在一個變數就能解決

以下是陣列與非陣列寫法的差別

//不使用陣列寫法

let color1 = 'blue';
let color2 = 'red';
let color3 = 'black';

//陣列寫法 (只需要一行則可以紀錄)

let colors = ['blue','red','black'];

let ary = ['blue',5,false]; //可以不同型態都放
console.log(ary);

let books = [5,30,400,100]
console.log(books);

let data = [ ]; //可以設空值
console.log(data);

陣列讀取教學

讀取陣列資料、需要了解陣列的長度算法

陣列從第一個是0開始算起 不是從1!!!

let colors = ['blue','red','black'];

console.log(colors[0]);  //回傳陣列第一個 blue

console.log(colors[1]);  //回傳陣列第二個 red

let likecolor = color[2]; //將第三個black傳進新宣告的變數likecolor中
console.log(likecolor)

length 讀取陣列長度流程

可以使用length來讀取出陣列的長度 如下

let colors = ['blue','red','black']; //宣告一個陣列變數

let colorsNum = colors.length; //計算colors陣列長度放進變數colorsNum

console.log(colors.length); //回傳結果

陣列預設寫入資料

// 陣列 array

let colors = [];

//寫入
colors[0]="blue";
colors[1]="red";
colors[2]="black";

colors[4]="pink"; //假設跳過3直接寫入4

console.log(colors[4]); 
//會印出5筆資料 ["blue","red","black","empty"(空白),"pink"]

console.log(colors.length); //長度會算進空白 所以還是5筆

push 寫入資料流程

push是能將資料寫入陣列最後面

// 陣列 array

let colors = ['blue','red','black'];

colors.push('pink');
colors.push('yellow');

會從陣列最後開始將資料放進去 如圖


unshift 寫入資料流程

unshift是能將資料寫入在陣列的最前面

// 陣列 array

let colors = ['blue','red','black'];

colors.unshift('pink');

從陣列最開始的地方塞資料 其他資料被往後推 如圖


pop 與 shift 刪除資料

pop從陣列最後面刪除
shift從陣列最前面刪除

// 陣列 array

let colors = ['blue','red','black'];

//新增 push、unshift
//刪除 pop、shift

colors.shift(); //從最前面開始刪除 會刪掉blue
colors.pop(); //從最後面開始刪除 會刪除black

splice 刪除指定資料

splice可以刪除指定的資料

// 陣列 array

let colors = ['blue','red','black'];

//第一個數字,起始位置
//第二個數字,要往後刪除起筆資料

colors.splice(1,2); //從第2個資料開始刪除 刪除兩筆資料

console.log(colors); //回傳blue

可以應用在按按鈕之後 刪除哪一筆資料


以上是較為簡易的陣列教學
那更多陣列應用的方法 [filter(), find(), forEach(), map(), every(), some(), reduce()]
這邊附上六角學院的詳細教學
https://www.hexschool.com/2017/09/01/2017-09-01-javascript-for/


#js #javascript #Array #Front End







Related Posts

What Type of Laser Engraving Machine Should be Used for Stainless Steel Engraving?

What Type of Laser Engraving Machine Should be Used for Stainless Steel Engraving?

Mac 安裝 NVM

Mac 安裝 NVM

國際電匯疑難雜症 || 國泰世華網銀

國際電匯疑難雜症 || 國泰世華網銀


Comments